package mainService.data;

import java.io.IOException;
import java.util.ArrayList;

/**
 * Classe usata per la generazione del file xml in risposta.
 * @author UTENTE
 *
 */
public class XMLGenerator implements IGeneratorXml {

	private IBufferedStringWriter writer;
	private ArrayList<String> campiXML;
	private ArrayList<String> risposta;

	public XMLGenerator(ArrayList<String> risposta, ArrayList<String> campiXML) {
		this.campiXML = campiXML;
		this.risposta = risposta;
		this.writer = new ListStringWriter(this.risposta);
		scritturaSuWriter("<xml>");
	}

	/* (non-Javadoc)
	 * @see mainService.data.IGeneratorXml#addElement(java.util.ArrayList)
	 */
	@Override
	public void addElement(ArrayList<String> valoriCampi) {

		int logLenght = valoriCampi.size();

		scritturaSuWriter("\t<elemento>");
		for (int j = 0; j < logLenght; j++) {
			scritturaSuWriter("\t\t<" + campiXML.get(j) + ">" + valoriCampi.get(j)
					+ "</" + campiXML.get(j) + ">");
		}
		scritturaSuWriter("\t</elemento>");

	}

	/* (non-Javadoc)
	 * @see mainService.data.IGeneratorXml#getRisposta()
	 */
	@Override
	public ArrayList<String> getRisposta() {
		scritturaSuWriter("</xml>");
		return risposta;

	}
	
	private void scritturaSuWriter(String scrivere){
		try {
			writer.writeln(scrivere);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
